iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0

你一定有想過為何跟另一位同學的程式都可以執行,我的卻顯得非常冗長且難以閱讀呢?
這一切都跟演算法有緊密的關係。

演算法(Algorithm) 的核心是解決問題的SOP
我們舉一個簡單的生活例子
1.輸入(Input):準備一包泡麵、一壺熱水
2.步驟

  • 將包裝撕開。
  • 取出麵體和調味包,放入碗中。
  • 撕開調味包,將調味料灑在麵體上。
  • 注入熱水,直到蓋過麵體。
  • 蓋上蓋子(或用書本壓住),等待三-五分鐘。

3.輸出(Output):一碗可以食用的泡麵。

這個 「為了解決特定問題,而設計的一系列清晰、有限的執行步驟」 ,就是演算法的本質。

在電腦科學中,演算法的定義更嚴謹一些:

是一組定義明確的指令,用於解決某一類問題或執行一項計算。它接收一個或多個輸入值,並在有限的步驟後,產生一個或多個輸出值。

評斷一個演算法的好壞,主要有以下三點:
1.正確性:演算法必須在任何合法的輸入下,都能得到預期的正確輸出。
2.效率:分為以下兩種

  • 時間複雜度(Time Complexity):執行這個演算法需要花費多少時間?
  • 空間複雜度(Space Complexity):執行這個演算法需要佔用多少記憶體空間?

3.可行性:演算法必須在可接受的時間內達到目的,並且沒有無限循環的情況。


演算法的簡單介紹就到這裡啦!
我們下一篇見!/images/emoticon/emoticon41.gif


下一篇
Day 2 - 演算法複雜度分析
系列文
LeetCode演算法解密:30天強化演算法戰力30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Wolke
iT邦研究生 4 級 ‧ 2025-10-10 18:48:55

感謝 未知作者 的精彩分享!

這個主題很有趣,感謝您的詳細說明和實作經驗分享。

遇到的問題和解決方案分享很實用,相信很多人都會遇到類似的情況。

也歡迎版主有空參考我的系列文「南桃AI重生記」:https://ithelp.ithome.com.tw/users/20046160/ironman/8311

如果覺得有幫助的話,也歡迎訂閱支持!

我要留言

立即登入留言